package com.demon.auto.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.demon.auto.model.dto.UserDto;
import com.demon.auto.model.entity.UserEntity;
import com.demon.auto.model.vo.PageVo;
import com.demon.auto.model.vo.UserVo;

/**
 * 用户信息
 *
 * @version 1.0
 * @author huangrz
 * @date 2025/02/13 17:06
 */
public interface UserService extends IService<UserEntity> {

    /**
     * 保存
     *
     * @param user 用户信息
     * @return Boolean
     */
    Boolean saveUserInfo(UserEntity user);

    /**
     * 根据用户名获取用户
     * @param username 用户名
     * @return UserEntity
     */
    UserEntity findByUsername(String username);

    /**
     * 更新用户token信息
     * @param user 用户信息
     */
    boolean clearUserToken(UserDto user);

    /**
     * 分页查询
     * @param condition 查询条件
     * @return List<UserVo>
     */
    PageVo<UserEntity> queryByPage(UserVo condition);

    /**
     * 修改密码
     * @param password 新密码
     * @return boolean
     */
    boolean updatePassword(String password);

    /**
     * 修改邮箱
     * @param email 新邮箱
     * @return boolean
     */
    boolean updateEmail(String email);

}
